// miniprogram/pages/redeem/detail.js
Page({
  data: {
    item: {},
    userInfo: {},
    totalPoints: 1250,
    canRedeem: false
  },

  onLoad(options) {
    const app = getApp()
    this.setData({
      userInfo: app.globalData.userInfo,
      totalPoints: 1250 // 实际开发中应从服务器获取
    })
    
    if (options.id) {
      this.loadRedeemItem(options.id)
    }
  },

  loadRedeemItem(id) {
    // 模拟加载兑换商品详情
    const item = {
      id: id,
      name: '星巴克咖啡券',
      description: '任意规格星巴克咖啡一杯，适用于全国门店（除特殊商品外）',
      detail: '• 有效期：兑换后30天内有效\n• 使用方式：兑换成功后将获得电子券码，凭券码到店使用\n• 适用门店：全国星巴克门店（除机场店等特殊门店）\n• 注意事项：每张券码仅可使用一次，不可找零',
      points: 50,
      image: '/images/redeem_starbucks.png',
      stock: 10,
      category: '餐饮'
    }
    
    const canRedeem = this.data.totalPoints >= item.points && item.stock > 0
    
    this.setData({
      item: item,
      canRedeem: canRedeem
    })
  },

  redeemItem() {
    if (!this.data.canRedeem) {
      if (this.data.totalPoints < this.data.item.points) {
        wx.showToast({
          title: '积分不足',
          icon: 'none'
        })
      } else if (this.data.item.stock <= 0) {
        wx.showToast({
          title: '库存不足',
          icon: 'none'
        })
      }
      return
    }
    
    wx.showModal({
      title: '确认兑换',
      content: `确定要兑换"${this.data.item.name}"吗？将扣除${this.data.item.points}积分。`,
      success: (res) => {
        if (res.confirm) {
          // 模拟兑换操作
          wx.showLoading({
            title: '兑换中...'
          })
          
          // 模拟网络请求
          setTimeout(() => {
            wx.hideLoading()
            wx.showToast({
              title: '兑换成功',
              icon: 'success'
            })
            
            // 更新本地数据
            const newItem = this.data.item
            newItem.stock -= 1
            const newPoints = this.data.totalPoints - this.data.item.points
            
            this.setData({
              item: newItem,
              totalPoints: newPoints,
              canRedeem: newPoints >= newItem.points && newItem.stock > 0
            })
            
            // 可以跳转到兑换成功页面或返回列表
            setTimeout(() => {
              wx.redirectTo({
                url: '/pages/redeem/success?itemId=' + this.data.item.id
              })
            }, 1500)
          }, 1500)
        }
      }
    })
  }
})